_base_ = '../faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py'
# norm_cfg = dict(type='SyncBN',requires_grad=True)
norm_cfg = dict(type='BN',requires_grad=True)
model = dict(
    pretrained = 'open-mmlab://resnest50',
    backbone=dict(
        type='ResNeSt',
        stem_channels=64,
        depth=50,
        radix=2,
        reduction_factor=4,
        avg_down_stride=True,
        num_stages=4,
        out_indices=(0,1,2,3),
        frozen_stages=1,
        norm_cfg=norm_cfg,
        norm_eval=False,
        style='pytorch'
    ),
    roi_head=dict(
        bbox_head=dict(
            type='Shared4Conv1FCBBoxHead',
            conv_out_channels=256,
            norm_cfg=norm_cfg
        )
    )
)
# # use ResNeSt img_norm
img_norm_cfg = dict(
    mean=[123.68,116.779,103.939],std=[58.393,57.12,57.375],to_rgb=True
)
train_pipeline = [
    dict(type='LoadImageFromFile'),
    dict(
        type='LoadAnnotations',
        with_bbox=True,
        with_mask=False,
        poly2mask=False
    ),
    dict(
        type='Resize',
        # img_scale = [(1333,640),(1333,800)],
        img_scale = (200, 200),
        # multiscale_mode='range',
        keep_ratio=True
    ),
    dict(type='RandomFlip',flip_ratio=0.5),
    dict(type='Normalize',**img_norm_cfg),
    dict(type='Pad',size_divisor=32),
    dict(type='DefaultFormatBundle'),
    dict(type='Collect',keys=['img','gt_bboxes','gt_labels']),
]
test_pipeline = [
    dict(type='LoadImageFromFile'),
    dict(
        type='MultiScaleFlipAug',
        # img_scale=(1333,800),
        img_scale=(200, 200),
        flip=False,
        transforms=[
            dict(type='Resize',keep_ratio=True),
            dict(type='RandomFlip'),
            dict(type='Normalize',**img_norm_cfg),
            dict(type='Pad',size_divisor=32),
            dict(type='ImageToTensor',keys=['img']),
            dict(type='Collect',keys=['img']),
        ]
    )
]
data=dict(
    train=dict(pipeline=train_pipeline),
    val=dict(pipeline=test_pipeline),
    test=dict(pipeline=test_pipeline)
)